シビックハッカー道場 Social Hack Day 43 2022-10-22
前:シビックハッカー育成塾.1 2022-10-08
後:
※このページに書き込みたいのに書き込めない場合はこのScrapboxへの参加方法およびScrapboxハンズオンを読んでください
Scrapboxにログインする
https://scrapbox.io/login
このプロジェクトに参加する
https://scrapbox.io/projects/c4j/invitations/858de5b70dd611ce66aad4c4e16795a9
タイムスケジュール
11:00-11:30 Gatherに集まる
11:30-11:40 シビックハッカー育成塾の野望の共有、各自のニーズや野望の共有
11:40-12:30 開発タイム①:ニーズや野望に応じてやっていく
12:30-13:30 昼食
13:30-14:30 開発タイム②:ニーズや野望に応じてやっていく
14:30-15:10 中間報告(全体)
15:10-15:20 超ラジオ体操、集合写真
15:20-15:40 シャッフルタイム
15:40-16:50 開発タイム③:ニーズや野望に応じてやっていく
16:50-17:30 告知・進捗・成果報告(全体)
17:30-18:00 オンライン懇親会
参考:シビックハッカー育成塾 自習掲示板
各自のニーズや野望(達成したいこと)の共有
Koichiro Shiratori.icon
自分がシビックハッカーになる!
最強のシビックハッカー仲間を増やす!
シビックハッカー版「スーパー30」をつくる!
yuiseki.icon
シビックハッカーとして腕を磨く!
シビックハッカーの仲間を増やす!
環境構築(新メンバーがいたら)
共通
GitHubのアカウントを作る
Visual Studio Codeをセットアップする
Windowsの場合
WSLをセットアップ
Windows Powershellを管理者権限で起動
code:ps1
wsl --install
Ubuntuを起動
code:bash
sudo apt update
sudo apt install curl
touch ~/.bash_profile
touch ~/.zshrc
nvmをインストール
code:bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash
Ubuntuを再起動
macOSの場合
brewをセットアップ
Terminal.appを起動
code:bash
touch ~/.bash_profile
touch ~/.zshrc
xcode-select --install
nvmをインストール
curlがある場合
code:bash
command -v curl
code:bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash
wgetがある場合
code:bash
command -v wget
code:bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.2/install.sh | bash
Terminal.appを再起動
nvmでNode.jsをインストール
code:bash
nvm install stable
https://github.com/Koichiro-Shiratori/task-gacha を自分のGitHubアカウントにフォークする
🚀チャンネルをローマ字に変更!
Slack#proj-シビックハッカー育成塾 → Slack#proj-civic-hacker-dojo
🚀GitHubリポジトリをSlackに通知連携!
Slack#proj-civic-hacker-dojo-notify
code:txt
/github subscribe Koichiro-Shiratori/task-gacha issues pulls commits releases deployments comments
祝!!Koichiro Shiratori.icon
🚀yuiseki.iconの立てたPull requestをKoichiro Shiratori.iconがレビューしてマージする
レビュー=変更差分を理解して問題ないことを確認する
論文でいうと査読
Pull requestの概要コメントを読む
Files changedを確認する
Review changesボタンを押す
Approve or Request changesを選ぶ
ApproveのときはLGTM!とコメントする
✅ https://github.com/Koichiro-Shiratori/task-gacha/pull/4
GitHub Actionsについて解説しつつPull requestレビューの流れをやってもらう
✅ https://github.com/Koichiro-Shiratori/task-gacha/pull/5
できた
🚀GitHub Actionsを理解する
GitHub Actionsとは
https://docs.github.com/ja/actions/using-workflows/workflow-syntax-for-github-actions
YAMLとは
https://learnxinyminutes.com/docs/yaml/
データ形式
csv
json
yaml
≠プログラミング言語
なにが違うのか?
プログラミング言語はチューリング完全性を持つ
チューリング完全とは
チューリング完全とは、何らかの計算を行う機構(論理回路や人工言語とその処理系など)が、万能チューリングマシンに等しい能力を持っていること。 あらゆる計算を記述、実行できることを表す。
https://e-words.jp/w/チューリング完全.html
データ形式は、それ自体ではチューリング完全ではない
データ形式は何ができないか?
たとえば、データ形式の中に条件(制御構造)を埋め込むようなことは困難
変数を宣言して参照したり書き換えたりすることも困難
(たまにウッカリチューリング完全になってしまうこともある)
lispというプログラミング言語があって、データ形式=プログラムというパラダイムにチャレンジしているyuiseki.icon
データ形式とはなんなのか?
データ形式はデータの羅列でしかない
syntaxとは?
文法
データ形式にもプログラミング言語にも文法はある
文法どおりに書かないと、機械が読めない
GitHub Actionsは何?
データ形式ではない
プログラミング言語ではない
docker composeにはとても近い存在
yamlファイルを書いたら、それに従って一定の手続きを処理するもの
一言でいうと、処理系
GitHub Actionsはどこにいる?
GitHubというプラットフォーム上にある
クラウド上にある
🚀脱線
ミネルバ大学の学長
「PBLは、学ぶ意欲が高くないと無理」
そういえばミネルバ大学は入学希望者の1%しか入学できないらしい→エグい選抜
入学してからもドロップアウトしないようにするのがキツイ
yuiseki.iconの経験からも同感
/neet(ニート向けソフトウェアエンジニアリング塾)が自然消滅してしまった
EC事業やSaaS事業だとファネルとか、インプレッション、コンバージョンレートや離脱率、直帰率とか言う概念があるyuiseki.icon
ガンダムのファンネルも漏斗
ファーストガンダム→UC(ユニコーンガンダム)→NT(ナラティブガンダム)→閃光のハサウェイ
ユニコーンガンダムのガンプラ5体作った!!ユニコーンガンダムぜひ見てほしい!!!yuiseki.icon
実はyuiseki 金なら払うから見てほしい映像作品という狂ったページを立てています…
ガッチャマン クラウズはシビックハッカーの物語なので、これも見てほしい
DアニメストアかU-NEXTにしかない…
/neet(ニート向けソフトウェアエンジニアリング塾)でもSFを視聴することを手を動かすことの次くらいに優先にしていた
/neet/質問表
/neet/予定表
/neet/予定表#5f3dd51ad7d3c30000a0e9ad
シビックハッカー道場のコンバージョンレートは、無料でオンラインであることもあり、極めて低くなることが予想される
しかし、少数でも最強シビックハッカーが育てば、社会へのインパクトは大きいはず!!!Koichiro Shiratori.icon
+1yuiseki.icon
義務教育はそもそもある程度整備されているので、1万人とかにいきなりスケールさせる必要もない?Koichiro Shiratori.icon
追加的な特殊な教育であってよいということKoichiro Shiratori.icon
認知度(インプレッション)を上げるには?
ブログ(運営者が書いているブログ、有用な情報が集約されている)は受験塾界隈では有力な告知手段
ブログの場合はブログサービスごとのカテゴリランキングで流入
シビックハッカー道場用の別Scrapboxを立てて、そこでアウトプットして、Scrapbox Webサイト化するやつで広める?yuiseki.icon
この場合、流入経路はTwitterやはてなブックマークあたりかな?
https://b.hatena.ne.jp/site/scrapbox.io/neet/?sort=count
半ば炎上商法みたいなところもあるが、、
失敗からの知見:ニート向けソフトウェアエンジニアリング塾は目的意識が弱い人が集まってしまったyuiseki.icon
お金との付き合い方
一般的には、金をからませてスケールさせる=善だが…
シビックハッカーは最終的にも金銭的に報われるとは限らない
有償で育成するかどうかは一考の余地あり
有償だと、一定の契約、責任を持つことになるので、避けたいyuiseki.icon
お金が絡んだ瞬間に「お客様」になるyuiseki.icon
金で動かないシビックハッカーこそ社会を変えられるのではないか? という予感Koichiro Shiratori.icon
+1yuiseki.icon
内発的動機づけ、内発性
ガッチャマン クラウズの爾乃美家累が最も重視している、人の資質、可能性yuiseki.icon
宮台真司も言っていた気がするyuiseki.icon
西郷隆盛もいっている(『南洲翁遺訓』)Koichiro Shiratori.icon
命もいらぬ、名誉もいらぬ、官位や肩書きも、金もいらぬ、という人は、
始末に困るものである。
だが、このような始末に困る人物でなければ、
困難を共にして国家の命運を分けるような大きな仕事を、
一緒に成し遂げることはできない。
しかしながら、そういった人物は、
なかなか普通の人の目では見抜くことはできないものである。
真に道理を行う人、正しく生きるという覚悟のある人物でなければ、
そのような精神を得ることはできない。
https://blogs.mbc.co.jp/rekishi-no-chikara/satsuma-oshie/1961/
一種の変人だが、危機にあってはそういう変人が一番頼れるのではないのか?? と感覚的に考える
脱線重要yuiseki.icon
/shokai/どんな時でも脱線したい
ついでに紹介yuiseki.icon
/shokai/Scrapboxという言葉の意味
PBL(Project Based Learning)的には、proj-inclusiveは道場との相性がとてもよいのではないか?Koichiro Shiratori.icon
多くの人が合意できる目標だから
オードリー・タンの影響も強いyuiseki.icon
オードリー・タン氏も始末に困る人物っぽい(上記の意味で)
ここから先の日本は超大変…
国難、国家の危機
国家の危機に立ち向かう資質
サバイバー: 宿命の大統領が面白かったyuiseki.icon
アメリカ合衆国議会議事堂が爆破され合衆国議員と内閣がほぼ全員死亡するというめちゃくちゃな始まり方をする
指定生存者がいきなり大統領になる
壮大な陰謀であることが次第に明らかになっていく
🚀GitHub PagesでプロジェクトをDeployする
Koichiro Shiratori.icon
https://github.com/Koichiro-Shiratori/task-gacha/settings
Settings → サイドバーの「Pages」をクリック → Pages設定画面のDeploy from a Branch, Branch Noneでgh-pagesを選択する
https://koichiro-shiratori.github.io/task-gacha/ を何回かリロードする
問題発生
ローカルで開発していたときは / で終わっていた
GitHub Pages上では、 /task-gacha/ というbasePathを指定しなければらなない
code:vite.config.ts
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
// https://vitejs.dev/config/
export default defineConfig({
base: '/task-gacha/',
plugins: react()
})
GitHub Issuesを理解する
タスク管理にGoogle Spreadsheetsを使わないほうがいい、GitHub Issuesを使うべきという話ですyuiseki.icon
GitHub Issuesって何?
GitHubがクラウド上で提供している課題管理システム
GitHubのリポジトリごとにGitHub Issuesがある
我々タスクガチャのGitHub Issuesはこちら
https://github.com/Koichiro-Shiratori/task-gacha/issues
そもそも課題管理システム(Issue tracking system, Issue tracker)とは
ソフトウェア開発、ソフトウェア工学において重要
類似:バグ管理システム(Bug tracking system, Bug tracker)
近年、ソフトウェアの開発においてはバグの修正が重要な作業と考えられている。バグを漏らさず修正し、再発を防ぐには、バグの発見日時や発見者、再現方法、修正担当者 (assignee)、修正履歴、修正方法、重要度、テスト状況などの多くの情報を残し管理する必要がある。開発によっては数千という数のバグが発生し、また多数のテスト担当者や修正担当者が関わっていることを考慮すると、従来のファイルレベルの管理では追いつかなくなっている。このような背景から、バグを管理するソフトウェアであるバグ管理システムが生まれた。
バグ管理システム - Wikipedia
バグだけじゃなくて新機能開発などの課題も管理したいという要望から生まれたのが課題管理システム
これらのシステムの多くは、課題を集中管理する課題レジストリに加えて、リソース割り当て、時間の統計、優先度管理、および課題のワークフロー管理を含む。
課題管理システム - Wikipedia
GitHub IssuesにはJSON APIがある
https://api.github.com/repos/Koichiro-Shiratori/task-gacha/issues で課題の一覧が取得できるのでタスクガチャでの表示に使える
これをインストールしてみてくださいyuiseki.icon
https://chrome.google.com/webstore/detail/json-formatter/bcjindcccaagfpapjjmafapmmgkkhgoa?hl=ja
https://github.com/Koichiro-Shiratori/task-gacha/issues で課題を追加していく
https://gyazo.com/0c39b408b525aa3c75f242842198fcf8
🚀 prettierがLive Shareのリモート側で動かないのは諦める
🚀リポジトリのDescriptionやURL設定がない
🚀README.md がない
🚀yuiseki.iconがリファクタリングしつつ、Koichiro Shiratori.iconがコードリーディングをする
🚀デザインを整える
YUKAさん登場
心理学専攻
公衆衛生や社会医学
近藤尚己 - Wikipedia
聴覚過敏マップ
うるさい場所、静かな場所がわかれば便利
長期入院
NPOにヒアリング…
学習支援アプリはあっても使われない
長期入院で意欲が失われてしまう
仮説検証能力高い!yuiseki.icon
ロールモデルとのマッチングはどうか
1on1は危険性もあり、難しい
まずはZoomやGoogle Meetで試してみては? by Koichiro Shiratori.icon
竹槍で戦えるうちは竹槍で戦う
いい言葉yuiseki.icon
ブリコラージュ
エンジニアリングの二つの側面
ありものでなんとかその場をしのぐ
広い視点で体系的に整理されたしなやかなシステムを作る
創造的思考と思考のための道具
道具を決めた時点で、創造的思考の方向性が決まる
無自覚に道具を選んでいるのは危険
そもそもは、どう思考したいのかに基づいて、思考するための道具から作る必要がある
超同意yuiseki.icon
創造的思考のための道具を作るときに必要な人々
創造行為をする現場の人
道具を作る専門家:エンジニア
研究者
経験ではなく体系的な知識を持っている
こうした人々同士が専門分野に閉じこもることなくお互い越境することがとても重要
越境重要yuiseki.icon
yuiseki.iconのFigmaの話
一週間コードを書くのを禁止されてFigmaを触り続けた
5日目には、Figmaが身体の一部のように感じられ、ゾーン状態に入った
ソフトウェアエンジニアはコード脳
エディタやIDEでコードを弄くりまわす範囲でしか思考できないという呪縛に囚われてしまう
コーディング禁止とFigma強制でコンフォートゾーンから抜け出すことができた
縛りプレイをするとコンフォートゾーンから抜け出すことを楽しくできるyuiseki.icon
業務で英語縛りペアプログラミングをやっている、楽しいyuiseki.icon
道具でも思考が規定されるけど、言語でも思考は規定されていそうyuiseki.icon
たまに道具を変えてみるのは良さそうKoichiro Shiratori.icon
yuiseki.icon
ティンカリングは一つの道具を弄くりまわす
Social Hack Dayのシャッフルタイムは面白い
Pendo Adaptも越境的なチームを構成している
デザイナー
ユーザーの通訳をしている
エンジニア
社会学者
パターン・ランゲージ
使う人がデザイナーになるべき
使う本人が一番あるべき形を知っているから
これも越境の話と言えるかyuiseki.icon